package com.wangjie.diffarray;

import java.util.Arrays;

/**
 * @author jieshao
 * @date 2022/4/8 11:25
 *
 * 1109. 航班预订统计
 */
public class Test02 {
    public static void main(String[] args) {
        int[][] arr = {{1, 2, 10}, {2, 3, 20}, {2, 5, 25}};
        int length = 5;
        int[] result = corpFlightBookings(arr, length);
        System.out.println(Arrays.toString(result));
    }

    public static int[] corpFlightBookings(int[][] bookings, int n) {
        // 初始化 num 数组，初始值为 0
        int[] num = new int[n];
        // 构造差分数组
        Difference difference = new Difference(num);
        for (int[] t : bookings) {
            // n 是从 1 开始计数的，而数组索引从 0 开始，所以对于输入的三元数组 (i, j, k)，数组区间应该对应 [i-1, j-1]
            int i = t[0] - 1;
            int j = t[1] - 1;
            int val = t[2];
            // 对区间 [i, j] 的值增加 val
            difference.increment(i, j, val);
        }
        // 返回结果数组
        return difference.result();
    }
}